package com.coupon.admin.dto;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 优惠券使用DTO
 */
@Data
public class CouponUseDTO {
    
    @NotNull(message = "用户ID不能为空")
    private Long userId;
    
    @NotNull(message = "券ID不能为空")
    private Long userCouponId;
    
    @NotNull(message = "订单ID不能为空")
    private Long orderId;
    
    @NotNull(message = "订单金额不能为空")
    private BigDecimal orderAmount;
    
    /**
     * 商品ID列表
     */
    private List<Long> productIds;
    
    /**
     * 使用场景：ONLINE(线上), OFFLINE(线下)
     */
    private String scene = "ONLINE";
}

/**
 * 优惠券核销DTO
 */
@Data
class CouponVerifyDTO {
    
    @NotNull(message = "券码不能为空")
    private String couponCode;
    
    @NotNull(message = "核销商户ID不能为空")
    private Long merchantId;
    
    /**
     * 核销方式：SCAN(扫码), MANUAL(手动)
     */
    private String verifyType = "SCAN";
    
    /**
     * 核销金额
     */
    private BigDecimal verifyAmount;
    
    /**
     * 备注
     */
    private String remark;
}
